//package com.ocom.payhandle.controller;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.github.pagehelper.PageInfo;
//import com.ocom.common.AcpService;
//import com.ocom.common.HttpUtils;
//import com.ocom.common.constant.PayHandleUrl;
//import com.ocom.common.entity.access.EntityDeptInfo;
//import com.ocom.common.entity.card.*;
//import com.ocom.common.entity.human.EntityPersonnelInfo;
//import com.ocom.common.enums.ResultEnum;
//import com.ocom.common.request.payhandle.*;
//import com.ocom.common.resp.Result;
//import com.ocom.common.utils.*;
//import com.ocom.payhandle.feign.XfRecordFeign;
//import com.ocom.payhandle.service.*;
//import com.ocom.payhandle.vo.DeviceInfoVo;
//import com.ocom.redis.util.RedisUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.cloud.context.config.annotation.RefreshScope;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.annotation.Resource;
//import javax.validation.Valid;
//import java.util.*;
//
//@RefreshScope
//@Slf4j
//@RestController
//public class PayControllerCopy {
//
//	@Autowired
//	DeviceInfoService deviceInfoService;
//
//	@Autowired
//	XfPointInfoService xfPointInfoService;
//
//	@Autowired
//	XfChannelInfoService xfChannelInfoService;
//
//	@Autowired
//	private XfMealTimeService xfMealTimeService;
//
//	@Autowired
//	private XfRecordProcessService xfRecordProcessService;
//
//	@Resource
//	private RedisUtil redisUtil;
//
//	@Autowired
//	private	XfMerchantInfoService xfMerchantInfoService;
//
//	@Value("${pay.url}")
//	private String payUrl;
//
//	@Autowired
//	private XfRecordFeign xfRecordFeign;
//
//	@Autowired
//	private XfCardInfoService xfCardInfoService;
//
//	@Autowired
//	private XfAccountInfoService xfAccountInfoService;
//
//	@Autowired
//	private PersonnelInfoService personnelInfoService;
//
//	@Autowired
//	private DeptInfoService deptInfoService;
//
//	@Autowired
//	private XfDiscountConfigServcie xfDiscountConfigServcie;
//
//	@Autowired
//	private XfUserparamConfigService xfUserparamConfigService;
//
//	@Autowired
//	private XfMerchPayInfoService xfMerchPayInfoService;
//
//	@Autowired
//	private XfSignNoService xfSignNoService;
//
//	/**
//	 * 2.8.1 付款码支付请求（qrCodePay）
//	 * @param request
//	 * @return
//	 */
//	@PostMapping(PayHandleUrl.URL_PayHandle_qrCodePay)
//	public Result qrCodePay(@RequestBody QrCodePayRequest request){
//
//		String machno="";
//		String tradeNo="";
//		try {
//			machno= request.getMachNo();
//			Long companyID= request.getCompanyId();
//			//向redis分布式锁插入订单号是否重复
//			tradeNo=request.getTradeNo();
//			String tradeNoRedis="onlinePay:"+companyID+":"+machno+":"+tradeNo;
//			if (redisUtil.lock(tradeNoRedis,60*60)){
//				EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =new EntiyEntiyXfRecordProcess();
//				String payCodeType= AcpService.thirdtyp(request.getAuthCode());
//				entiyEntiyXfRecordProcess.setOpTypeDiff(Long.valueOf(payCode(payCodeType)));
//				//根据machNo(device_no)查找消费点point_id、商户merch_id
//				DeviceInfoVo deviceInfoVo=deviceInfoService.selectPointId(companyID,machno);
//				if (deviceInfoVo!=null){
//					entiyEntiyXfRecordProcess.setDeviceName(deviceInfoVo.getDeviceName());
//					entiyEntiyXfRecordProcess.setPointId(deviceInfoVo.getPointId());
//					entiyEntiyXfRecordProcess.setPointName(deviceInfoVo.getPointName());
//					entiyEntiyXfRecordProcess.setMerchId(deviceInfoVo.getMerchId());
//					entiyEntiyXfRecordProcess.setMerchName(deviceInfoVo.getMerchName());
//				}
//				entiyEntiyXfRecordProcess.setComId(companyID);
//				entiyEntiyXfRecordProcess.setDeviceNo(machno);
//				//判断消费时间段
//				Date date=new Date();
//				entiyEntiyXfRecordProcess.setCreateTime(date);
//				entiyEntiyXfRecordProcess.setConsTime(date);
//				entiyEntiyXfRecordProcess.setMonthValue(DateUtils.getStrDate(date,"yyyyMM"));
//				List<EntityXfMealTime> mealTimeList=xfMealTimeService.selectTimeList(companyID,deviceInfoVo.getPointId());
//				for (EntityXfMealTime entityXfMealTime : mealTimeList) {
//					if (DateUtils.isInTimeFor(date,entityXfMealTime.getBeginTime(),entityXfMealTime.getEndTime())){
//						entiyEntiyXfRecordProcess.setMealNo(entityXfMealTime.getMealNo());
//					}
//				}
//				entiyEntiyXfRecordProcess.setMealDate(DateUtils.getDate(DateUtils.getStrDate(date,DateUtils.YYYY_MM_DD),DateUtils.YYYY_MM_DD));
//				//计算金额
//				int consMoney=-request.getAmount();
//				entiyEntiyXfRecordProcess.setConsMoney(Long.valueOf(consMoney));
//				int discount = 0;
//				int realMoney = consMoney + discount;
//				//支付状态；0支付中、1支付成功，2支付失败，3撤单中，4已撤单，5退款中，6已退款，7部分退款成功
//				entiyEntiyXfRecordProcess.setPayState(0);
//				entiyEntiyXfRecordProcess.setDiscount(Long.valueOf(discount));
//				entiyEntiyXfRecordProcess.setRealMoney(Long.valueOf(realMoney));
//				entiyEntiyXfRecordProcess.setPayAmount(Long.valueOf(Math.abs(realMoney)));
//				//消费状态，1：消费；2：退款；3：点餐；4.取餐；5.订餐；6：退订；10：充值；11：提现；12：补贴；13：清卡；21：销户
//				entiyEntiyXfRecordProcess.setConsState(1);
//				//操作类型：
//				//1：虚拟账户支付
//				//2：付款码支付
//				//3：免密代扣支付
//				//4：充值
//				//5：补贴
//				//6：订餐
//				//7：取款
//				//8：点菜（具体操作方式为101--305）
//
//				entiyEntiyXfRecordProcess.setOpType(2L);
//				entiyEntiyXfRecordProcess.setOrderNo(request.getTradeNo());
//				try {
//					int i=xfRecordProcessService.insertEntityXfRecord(companyID, entiyEntiyXfRecordProcess);
//					if (i<=0){
//						log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",machno,request,ResultUtil.error(ResultEnum.Err_802));
//						//订单号重复
//						return ResultUtil.error(ResultEnum.Err_802);
//					}
//				}catch (Exception e){
//					log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",machno, entiyEntiyXfRecordProcess,e);
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",machno,request,ResultUtil.error(ResultEnum.Err_802));
//					//订单号重复
//					return ResultUtil.error(ResultEnum.Err_802);
//				}
//				//查询配置信息向统一平台发起支付
//				EntityXfMerchantInfo entityXfMerchantInfo=xfMerchantInfoService.selectConfigure(companyID,deviceInfoVo);
//				if (entityXfMerchantInfo !=null && entityXfMerchantInfo.getCompanyId()!=null && entityXfMerchantInfo.getUserName()!=null && entityXfMerchantInfo.getPassword()!=null){
//					Map<String,Object> retMap=new HashMap<>();
//					retMap.put("company_id",entityXfMerchantInfo.getCompanyId());
//					retMap.put("user_name",entityXfMerchantInfo.getUserName());
//					retMap.put("password",entityXfMerchantInfo.getPassword());
//					retMap.put("pos_no",machno);
//					retMap.put("fee_type","CNY");
//					retMap.put("subject","扫付款码支付:"+machno);
//					retMap.put("out_trade_no", request.getTradeNo());
//					retMap.put("auth_code", request.getAuthCode());
//					retMap.put("total_amount", String.valueOf(Math.abs(realMoney)));
//					retMap.put("devsnip", String.valueOf("10.68.132.244"));
//					retMap.put("body","扫付款码支付");
//					//向统一支付平台发起支付
//					String json= HttpUtils.postJson(payUrl+"/unifiedmicropay/nobeswept.do",retMap);
//					JSONObject results= JSON.parseObject(json);
//					EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//					updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//					updateXfRecordProcess.setPayChannelNo(entityXfMerchantInfo.getCompanyId());
//					if (results.getInteger("code")==200){
//						Map<String,String> dataMap= (Map<String, String>) JSON.parse(results.getString("data"));
//						//支付成功，修改等待表的状态和把数据入成功表
//						updateXfRecordProcess.setChannelOrderNo(dataMap.get("trade_no"));
//						updateXfRecordProcess.setPayState(1);
//						updateXfRecordProcess.setOpTypeDiff(Long.valueOf(payCode(dataMap.get("pay_code_type"))));
//						updateXfRecordProcess.setPayTime(DateUtil.getDate(dataMap.get("time_end"),"yyyyMMddHHmmss"));
//						try {
//							int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//							if (i<=0){
//								log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","支付请求（强在线）",machno,updateXfRecordProcess,"等待表修改入库失败");
//								log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",machno,retMap,json);
//
//							}
//						}catch (Exception e){
//							log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",machno,updateXfRecordProcess,e);
//							log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",machno,retMap,json);
//						}
//						entiyEntiyXfRecordProcess.setId(null);
//						entiyEntiyXfRecordProcess.setChannelOrderNo(dataMap.get("trade_no"));
//						entiyEntiyXfRecordProcess.setPayState(1);
//						if (!dataMap.get("pay_code_type").equals("")){
//							entiyEntiyXfRecordProcess.setOpTypeDiff(Long.valueOf(payCode(dataMap.get("pay_code_type"))));
//						}
//						entiyEntiyXfRecordProcess.setPayTime(DateUtil.getDate(dataMap.get("time_end"),"yyyyMMddHHmmss"));
//						entiyEntiyXfRecordProcess.setPayChannelNo(entityXfMerchantInfo.getCompanyId());
//						log.info("插入成功记录 ，【{}】", entiyEntiyXfRecordProcess);
//						Result result=xfRecordFeign.sveXfRecord(entiyEntiyXfRecordProcess);
//						if (result.getCode()!=200){
//							log.info("请求方式:【{}】,机器号:【{}】,入库成功的数据:【{}】,返回:【{}】","支付请求（强在线）",machno,updateXfRecordProcess,"添加入库失败");
//							log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,请求入xfrecode的表数据的返回的参数:【{}】","支付请求（强在线）",machno,retMap,result);
//						}
//						Map<String,Object> map=new HashMap<>();
//						map.put("discount", entiyEntiyXfRecordProcess.getDiscount());
//						map.put("payAmount", entiyEntiyXfRecordProcess.getRealMoney());
//						return ResultUtil.success(map);
//					}else if (results.getInteger("code")==16 || results.getInteger("code")==19){
//						//支付结果未知
//						return ResultUtil.error(ResultEnum.Err_3029);
//					}
//					log.info("请求方式:【{}】,机器号:【{}】,返回的参数:【{}】","支付请求（强在线）",machno,ResultUtil.error(ResultEnum.Err_3030));
//					log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",machno,retMap,json);
//					updateXfRecordProcess.setPayState(2);
//					try {
//						int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//						if (i<=0){
//							log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","支付请求（强在线）",machno,updateXfRecordProcess,"等待表修改入库失败");
//							log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",machno,retMap,json);
//
//						}
//					}catch (Exception e){
//						log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",machno,updateXfRecordProcess,e);
//						log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",machno,retMap,json);
//					}
//					return ResultUtil.error(ResultEnum.Err_3030);
//				}else {
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",machno,request,ResultUtil.error(ResultEnum.Err_2030));
//					//没有查到支付渠道的信息
//					return ResultUtil.error(ResultEnum.Err_2030);
//				}
//			}else {
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",machno,request,ResultUtil.error(ResultEnum.Err_802));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_802);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","支付请求（强在线）",machno,request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/**
//	 * 2.8.2 付款码订单查询（qrCodeQuery）
//	 * @param request
//	 * @return
//	 */
//	@PostMapping(PayHandleUrl.URL_PayHandle_qrCodeQuery)
//	public Result qrCodeQuery(@Valid  @RequestBody QrCodeQueryRequest request){
//		String machno="";
//		String tradeNo="";
//		try {
//			machno= request.getMachNo();
//			Long companyID= request.getCompanyId();
//			tradeNo=request.getTradeNo();
//			//查看数据库次订单是否支付成功
//			EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =xfRecordProcessService.selectTradeNo(companyID,tradeNo,request.getMachNo());
//			if (entiyEntiyXfRecordProcess ==null){
//				//订单号号不存在
//				return ResultUtil.error(ResultEnum.Err_805);
//			}
//			if (entiyEntiyXfRecordProcess.getPayState()==1){
//				//支付成功
//				Map<String,Object> map=new HashMap<>();
//				map.put("discount", entiyEntiyXfRecordProcess.getDiscount());
//				map.put("payAmount", entiyEntiyXfRecordProcess.getRealMoney());
//				return ResultUtil.success(map);
//			}else if (entiyEntiyXfRecordProcess.getPayState()==2){
//				//支付失败
//				return ResultUtil.error(ResultEnum.Err_3030);
//			}else {
//				DeviceInfoVo deviceInfoVo=deviceInfoService.selectPointId(companyID,machno);
//				//查询配置信息向统一平台查询
//				EntityXfMerchantInfo entityXfMerchantInfo=xfMerchantInfoService.selectConfigure(companyID,deviceInfoVo);
//				if (entityXfMerchantInfo ==null || entityXfMerchantInfo.getCompanyId()==null || entityXfMerchantInfo.getUserName()==null || entityXfMerchantInfo.getPassword()==null){
//					//没有查到支付渠道的信息
//					return ResultUtil.error(ResultEnum.Err_2030);
//				}
//
//				Map<String,Object> retMap=new HashMap<>();
//				retMap.put("company_id",entityXfMerchantInfo.getCompanyId());
//				retMap.put("user_name",entityXfMerchantInfo.getUserName());
//				retMap.put("password",entityXfMerchantInfo.getPassword());
//				retMap.put("pos_no",machno);
//				retMap.put("out_trade_no", tradeNo);
//				//向统一支付平台发起支付
//				String json= HttpUtils.postsJson(payUrl+"/unifiedmicropay/select.do",retMap);
//				JSONObject results= JSON.parseObject(json);
//				EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//				updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//				updateXfRecordProcess.setPayChannelNo(entityXfMerchantInfo.getCompanyId());
//				if (results.getInteger("code")==200){
//					Map<String,String> dataMap= (Map<String, String>) JSON.parse(results.getString("data"));
//					if (dataMap.get("trade_status").equals("SUCCESS")){
//						//支付成功，修改等待表的状态和把数据入成功表
//						updateXfRecordProcess.setChannelOrderNo(dataMap.get("trade_no"));
//						updateXfRecordProcess.setPayState(1);
//						updateXfRecordProcess.setOpTypeDiff(Long.valueOf(payCode(dataMap.get("pay_code_type"))));
//						updateXfRecordProcess.setPayTime(DateUtil.getDate(dataMap.get("time_end"),"yyyyMMddHHmmss"));
//						try {
//							int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//							if (i<=0){
//								log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,"等待表修改入库失败");
//								log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//							}
//						}catch (Exception e){
//							log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,e);
//							log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//						}
//						entiyEntiyXfRecordProcess.setId(null);
//						entiyEntiyXfRecordProcess.setChannelOrderNo(dataMap.get("trade_no"));
//						entiyEntiyXfRecordProcess.setPayState(1);
//						if (!dataMap.get("pay_code_type").equals("")){
//							entiyEntiyXfRecordProcess.setOpTypeDiff(Long.valueOf(payCode(dataMap.get("pay_code_type"))));
//						}
//						entiyEntiyXfRecordProcess.setPayTime(DateUtil.getDate(dataMap.get("time_end"),"yyyyMMddHHmmss"));
//						entiyEntiyXfRecordProcess.setPayChannelNo(entityXfMerchantInfo.getCompanyId());
//						Result result=xfRecordFeign.sveXfRecord(entiyEntiyXfRecordProcess);
//						if (result.getCode()!=200){
//							log.info("请求方式:【{}】,机器号:【{}】,入库成功的数据:【{}】,返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,"添加入库失败");
//							log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,请求入xfrecode的表数据的返回的参数:【{}】","付款码订单查询",machno,retMap,result);
//						}
//						Map<String,Object> map=new HashMap<>();
//						map.put("discount", entiyEntiyXfRecordProcess.getDiscount());
//						map.put("payAmount", entiyEntiyXfRecordProcess.getRealMoney());
//						return ResultUtil.success(map);
//					}else if (dataMap.get("trade_status").equals("PAYERROR")){
//						//支付失败
//						updateXfRecordProcess.setPayState(2);
//						try {
//							int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//							if (i<=0){
//								log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,"等待表修改入库失败");
//								log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//							}
//						}catch (Exception e){
//							log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,e);
//							log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//						}
//						return ResultUtil.error(ResultEnum.Err_3030);
//					}else if (dataMap.get("trade_status").equals("REVOKED") || dataMap.get("trade_status").equals("CLOSED")){
//						//已撤单
//						updateXfRecordProcess.setPayState(4);
//						try {
//							int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//							if (i<=0){
//								log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,"等待表修改入库失败");
//								log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//							}
//						}catch (Exception e){
//							log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,e);
//							log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//						}
//						return ResultUtil.error(ResultEnum.Err_3033);
//					}else if (dataMap.get("trade_status").equals("REFUND")){
//						//转入退款
//						updateXfRecordProcess.setPayState(5);
//						try {
//							int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//							if (i<=0){
//								log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,"等待表修改入库失败");
//								log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//							}
//						}catch (Exception e){
//							log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码订单查询",machno,updateXfRecordProcess,e);
//							log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//						}
//						return ResultUtil.error(ResultEnum.Err_3034);
//					}else {
//						//支付结果未知
//						return ResultUtil.error(ResultEnum.Err_3029);
//					}
//				}else {
//					log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码订单查询",machno,retMap,json);
//					return ResultUtil.error(ResultEnum.Err_3032);
//				}
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","付款码订单查询",machno,request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/*
//	 * @Description:在线订单查询
//	 * @Author: lu
//	 * @Date: 2022/7/7 16:05
//	 * @param request:
//	 * @return: com.ocom.common.resp.Result
//	 **/
//	@PostMapping(PayHandleUrl.URL_OnlinePayQuery)
//	public Result onlinePayQuery(@Valid  @RequestBody QrCodeQueryRequest request){
//		try {
//			EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =xfRecordProcessService.selectTradeNo(request.getCompanyId(),request.getTradeNo(),request.getMachNo());
//
//			if (entiyEntiyXfRecordProcess ==null){
//				return ResultUtil.error(ResultEnum.Err_1001);
//			}
//
//			if (entiyEntiyXfRecordProcess.getPayState()==1){
//				//成功
//				Map<String,Object> map=new HashMap<>();
//				map.put("discount", entiyEntiyXfRecordProcess.getDiscount());
//				map.put("payAmount", entiyEntiyXfRecordProcess.getRealMoney());
//				Map<String,Object> mapAccountInf=new HashMap<>();
//				mapAccountInf.put("name", entiyEntiyXfRecordProcess.getPName());
//				mapAccountInf.put("money", entiyEntiyXfRecordProcess.getChargeBalance());
//				mapAccountInf.put("allowance", entiyEntiyXfRecordProcess.getSubMoney());
//				mapAccountInf.put("cardtype", entiyEntiyXfRecordProcess.getSubBalance());
//				map.put("accountInf",mapAccountInf);
//				return ResultUtil.success(map);
//			}else if (entiyEntiyXfRecordProcess.getPayState()==3 || entiyEntiyXfRecordProcess.getPayState()==4){
//				//已撤单
//				return ResultUtil.error(ResultEnum.Err_3033);
//			}else {
//				//支付结果未知
//				return ResultUtil.error(ResultEnum.Err_3029);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","刷卡订单查询",request.getMachNo(),request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/**
//	 * 2.8.3 付款码撤单（qrCodeCancel）
//	 * @param request
//	 * @return
//	 */
//	@PostMapping(PayHandleUrl.URL_PayHandle_qrCodeCancel)
//	public Result qrCodeCancel(@Valid  @RequestBody QrCodeQueryRequest request){
//		String machno="";
//		try {
//			machno = request.getMachNo();
//			Long companyID = request.getCompanyId();
//			//查看数据库次订单是否支付成功
//			EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =xfRecordProcessService.selectTradeNo(companyID,request.getTradeNo(),request.getMachNo());
//			if (entiyEntiyXfRecordProcess ==null){
//				//订单号号不存在
//				return ResultUtil.error(ResultEnum.Err_805);
//			}
//			if (entiyEntiyXfRecordProcess.getPayState()==4){
//				//已撤单
//				return ResultUtil.success();
//			}
//			DeviceInfoVo deviceInfoVo=deviceInfoService.selectPointId(companyID,machno);
//			//查询配置信息向统一平台查询
//			EntityXfMerchantInfo entityXfMerchantInfo=xfMerchantInfoService.selectConfigure(companyID,deviceInfoVo);
//			if (entityXfMerchantInfo ==null || entityXfMerchantInfo.getCompanyId()==null || entityXfMerchantInfo.getUserName()==null || entityXfMerchantInfo.getPassword()==null){
//				//没有查到支付渠道的信息
//				return ResultUtil.error(ResultEnum.Err_2030);
//			}
//			Map<String,Object> retMap=new HashMap<>();
//			retMap.put("company_id",entityXfMerchantInfo.getCompanyId());
//			retMap.put("user_name",entityXfMerchantInfo.getUserName());
//			retMap.put("password",entityXfMerchantInfo.getPassword());
//			retMap.put("pos_no",machno);
//			retMap.put("out_trade_no", request.getTradeNo());
//			//向统一支付平台发起支付
//			String json= HttpUtils.postsJson(payUrl+"/unifiedmicropay/cancellations.do",retMap);
//			JSONObject results= JSON.parseObject(json);
//			if (results.getInteger("code")==200){
//				Result result=xfRecordFeign.deleteXfRecord(entiyEntiyXfRecordProcess);
//				if (result.getCode()!=200){
//					log.info("请求方式:【{}】,机器号:【{}】,删除成功表的数据:【{}】,返回:【{}】","付款码撤单",machno, entiyEntiyXfRecordProcess,"删除失败");
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,请求删除成功表的xfrecode的表数据的返回的参数:【{}】","付款码撤单",machno,retMap,result);
//				}
//				EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//				updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//				updateXfRecordProcess.setPayState(4);
//				try {
//					int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//					if (i<=0){
//						log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码撤单",machno,updateXfRecordProcess,"等待表修改入库失败");
//						log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码撤单",machno,retMap,json);
//					}
//				}catch (Exception e){
//					log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码撤单",machno,updateXfRecordProcess,e);
//					log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码撤单",machno,retMap,json);
//				}
//				return ResultUtil.success();
//			}else {
//				EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//				updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//				updateXfRecordProcess.setPayState(3);
//				try {
//					int i=xfRecordProcessService.updateEntityXfRecord(companyID,updateXfRecordProcess);
//					if (i<=0){
//						log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码撤单",machno,updateXfRecordProcess,"等待表修改入库失败");
//						log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码撤单",machno,retMap,json);
//					}
//				}catch (Exception e){
//					log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码撤单",machno,updateXfRecordProcess,e);
//					log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码撤单",machno,retMap,json);
//				}
//				return ResultUtil.error(ResultEnum.Err_3035);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","付款码撤单",machno,request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/**
//	 * 2.8.4 付款码退款
//	 * @param request
//	 * @return
//	 */
//	@PostMapping(PayHandleUrl.URL_PayHandle_qrCodeRefund)
//	public Result qrCodeRefund(@Valid  @RequestBody QrCodeRefundRequest request){
//		try {
//			//查询订单号是否存在
//			EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =xfRecordProcessService.selectTradeNo(request.getCompanyId(),request.getOrigTradeNo(),request.getMachNo());
//			if (entiyEntiyXfRecordProcess.getIfRefund()>0){
//				//已经退款
//				return ResultUtil.error(ResultEnum.Err_3038);
//			}
//			Long totalAmount= entiyEntiyXfRecordProcess.getRealMoney();
//			Long id= entiyEntiyXfRecordProcess.getId();
//			Long ifRefund= entiyEntiyXfRecordProcess.getIfRefund();
//			String monthValue= entiyEntiyXfRecordProcess.getMonthValue();
//			if (entiyEntiyXfRecordProcess ==null){
//				//原订单号不存在
//				return ResultUtil.error(ResultEnum.Err_3036);
//			}
//			String tradeNoRedis="refund:"+request.getCompanyId()+":"+request.getMachNo()+":"+request.getTradeNo();
//			if (!redisUtil.lock(tradeNoRedis,60*60)){
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_802);
//			}
//			if (entiyEntiyXfRecordProcess.getPayState()!=1 || entiyEntiyXfRecordProcess.getConsState()!=1){
//				return ResultUtil.error(ResultEnum.Err_3037);
//			}
//			EntiyEntiyXfRecordProcess refundXfRecordProcess=xfRecordProcessService.selectTradeNo(request.getCompanyId(),request.getTradeNo(),request.getMachNo());
//
//
//			if (refundXfRecordProcess!=null){
//				if (!refundXfRecordProcess.getOrigOrderNo().equals(request.getOrigTradeNo())){
//					//订单号重复
//					return ResultUtil.error(ResultEnum.Err_802);
//				}
//				if (entiyEntiyXfRecordProcess.getIfRefund()>0){
//					//退款成功
//					Map<String,Object> map=new HashMap<>();
//					map.put("refundAmount",request.getRefundAmount());
//					return ResultUtil.success(map);
//				}
//				if (refundXfRecordProcess.getPayState()==1){
//					Map<String,Object> map=new HashMap<>();
//					map.put("refundAmount",request.getRefundAmount());
//					return ResultUtil.success(map);
//				}
//			}
//
//
//			entiyEntiyXfRecordProcess.setId(null);
//			Date date=new Date();
//			entiyEntiyXfRecordProcess.setCreateTime(date);
//			entiyEntiyXfRecordProcess.setConsTime(date);
//			if (Math.abs(entiyEntiyXfRecordProcess.getRealMoney())<request.getRefundAmount()){
//				//退款金额超过原订单支付金额
//				return ResultUtil.error(ResultEnum.Err_3038);
//			}
//			entiyEntiyXfRecordProcess.setConsMoney(Long.valueOf(request.getRefundAmount()));
//			entiyEntiyXfRecordProcess.setDiscount(0l);
//			entiyEntiyXfRecordProcess.setRealMoney(Long.valueOf(request.getRefundAmount()));
//			entiyEntiyXfRecordProcess.setConsState(2);
//			entiyEntiyXfRecordProcess.setOrigOrderNo(request.getOrigTradeNo());
//			entiyEntiyXfRecordProcess.setOrderNo(request.getTradeNo());
//			entiyEntiyXfRecordProcess.setPayState(0);
//			entiyEntiyXfRecordProcess.setOrderNo(request.getTradeNo());
//			entiyEntiyXfRecordProcess.setIfRefund(0l);
//			entiyEntiyXfRecordProcess.setMonthValue(DateUtils.getStrDate(date,"yyyyMM"));
//			entiyEntiyXfRecordProcess.setPayAmount(-Long.valueOf(request.getRefundAmount()));
//			try {
//				int i=xfRecordProcessService.insertEntityXfRecord(request.getCompanyId(), entiyEntiyXfRecordProcess);
//				if (i<=0){
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","付款码退款",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//					//订单号重复
//					return ResultUtil.error(ResultEnum.Err_802);
//				}
//			}catch (Exception e){
//				log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","付款码退款",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","付款码退款",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_802);
//			}
//
//			//修改等待表的原订单表的数据
//			EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//			updateXfRecordProcess.setId(id);
//
//			updateXfRecordProcess.setRefundTime(new Date());
//			updateXfRecordProcess.setIfRefund(ifRefund+1);
//			try {
//				int i=xfRecordProcessService.updateEntityXfRecord(request.getCompanyId(),updateXfRecordProcess);
//				if (i<=0){
//					log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","付款码退款",request.getMachNo(),updateXfRecordProcess,"付款码退款失败");
//				}
//			}catch (Exception e){
//				log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","付款码退款",request.getMachNo(),updateXfRecordProcess,e);
//			}
//			//修改成功表的原订单表的数据
//			updateXfRecordProcess.setComId(request.getCompanyId());
//			updateXfRecordProcess.setOrderNo(request.getOrigTradeNo());
//			updateXfRecordProcess.setMonthValue(monthValue);
//			updateXfRecordProcess.setDeviceNo(request.getMachNo());
//			Result result=xfRecordFeign.updateXfRecord(updateXfRecordProcess);
//			if (result.getCode()!=200){
//				log.info("请求方式:【{}】,机器号:【{}】,修改成功表的数据:【{}】,返回:【{}】","付款码退款",request.getMachNo(), entiyEntiyXfRecordProcess,"修改原订单信息失败");
//			}
//			//判断是走什么通道的
//			//修改等待表的退款数据
//			EntiyEntiyXfRecordProcess updateXfRecordProces=new EntiyEntiyXfRecordProcess();
//			if (entiyEntiyXfRecordProcess.getOpType()==2){
//				DeviceInfoVo deviceInfoVo=deviceInfoService.selectPointId(request.getCompanyId(),request.getMachNo());
//				//查询配置信息向统一平台发起支付
//				EntityXfMerchantInfo entityXfMerchantInfo=xfMerchantInfoService.selectConfigure(request.getCompanyId(),deviceInfoVo);
//				Map<String,Object> retMap=new HashMap<>();
//				retMap.put("company_id",entityXfMerchantInfo.getCompanyId());
//				retMap.put("user_name",entityXfMerchantInfo.getUserName());
//				retMap.put("password",entityXfMerchantInfo.getPassword());
//				retMap.put("out_trade_no",request.getOrigTradeNo());
//				retMap.put("out_refund_no",request.getTradeNo());
//				retMap.put("pos_no",request.getMachNo());
//				retMap.put("total_amount", Math.abs(totalAmount));
//				retMap.put("refund_fee", request.getRefundAmount());
//				retMap.put("refund_desc", "退款");
//				//向统一支付平台发起支付
//				String json= HttpUtils.postsJson(payUrl+"/unifiedmicropay/refund.do",retMap);
//				JSONObject results= JSON.parseObject(json);
//				if (results.getInteger("code")!=200){
//					log.info("请求方式:【{}】,机器号:【{}】,入库新增的数据:【{}】,返回:【{}】","付款码退款",request.getMachNo(),updateXfRecordProcess,"付款码退款失败");
//					log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","付款码退款",request.getMachNo(),retMap,json);
//					return ResultUtil.error(ResultEnum.Err_3039);
//				}
//				Map<String,String> dataMap= (Map<String, String>) JSON.parse(results.getString("data"));
//				updateXfRecordProces.setPayChannelNo(entityXfMerchantInfo.getCompanyId());
//
//				entiyEntiyXfRecordProcess.setChannelOrderNo(dataMap.get("refund_id"));
//				entiyEntiyXfRecordProcess.setPayAmount(-Long.valueOf(dataMap.get("refund_fee")));
//
//				updateXfRecordProces.setChannelOrderNo(dataMap.get("refund_id"));
//				updateXfRecordProces.setPayAmount(-Long.valueOf(dataMap.get("refund_fee")));
//			}else if (entiyEntiyXfRecordProcess.getOpType()==1 && entiyEntiyXfRecordProcess.getOpTypeDiff()==100){
//				EntityCardInfo entityCardInfo=xfCardInfoService.selectCard(request.getCompanyId(), entiyEntiyXfRecordProcess.getCardNo());
//				if (entityCardInfo==null){
//
//					return ResultUtil.error(ResultEnum.Err_305);
//				}
//				EntityXfAccountInfo entityXfAccountInfo=xfAccountInfoService.selectAccount(request.getCompanyId(),entityCardInfo.getAccountNo());
//				Long chargeBalance=Math.abs(request.getRefundAmount())+entityXfAccountInfo.getAccountRechargeMoney();
//				entiyEntiyXfRecordProcess.setChargeBalance(chargeBalance);
//				updateXfRecordProces.setChargeBalance(chargeBalance);
//				xfCardInfoService.upateCardMoneyA(request.getCompanyId(),entityCardInfo);
//				boolean updateAccount=xfAccountInfoService.updateAccountMoney(request.getCompanyId(), entiyEntiyXfRecordProcess.getChargeBalance(), entiyEntiyXfRecordProcess.getSubBalance(),entityXfAccountInfo.getId());
//				if (!updateAccount){
//					return ResultUtil.error(ResultEnum.Err_3039);
//				}
//			}
//			//新增成功表的退款数据
//			Date payTime=new Date();
//			entiyEntiyXfRecordProcess.setPayTime(payTime);
//			entiyEntiyXfRecordProcess.setPayState(1);
//
//			Result sveResult=xfRecordFeign.sveXfRecord(entiyEntiyXfRecordProcess);
//			if (sveResult.getCode()!=200){
//				log.info("请求方式:【{}】,机器号:【{}】,入库成功的数据:【{}】,返回:【{}】","付款码退款",request.getMachNo(),updateXfRecordProcess,"添加入库失败");
//			}
//
//			updateXfRecordProces.setId(entiyEntiyXfRecordProcess.getId());
//			updateXfRecordProces.setPayTime(payTime);
//			updateXfRecordProces.setPayState(1);
//
//			try {
//				int i=xfRecordProcessService.updateEntityXfRecord(request.getCompanyId(),updateXfRecordProces);
//				if (i<=0){
//					log.info("请求方式:【{}】,机器号:【{}】,等待表的入库修改的数据:【{}】,返回:【{}】","付款码退款",request.getMachNo(),updateXfRecordProcess,"等待表修改入库失败");
//				}
//			}catch (Exception e){
//				log.info("请求方式:【{}】,机器号:【{}】,等待表的入库修改的数据:【{}】,异常的返回:【{}】","付款码退款",request.getMachNo(),updateXfRecordProcess,e);
//			}
//			Map<String,Object> map=new HashMap<>();
//			map.put("refundAmount",request.getRefundAmount());
//			return ResultUtil.success(map);
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","退款异常",request.getMachNo(),request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/*
//	 * @Description:保存消费记录
//	 * @Author: lu
//	 * @Date: 2022/7/4 16:32
//	 * @param request:
//	 * @return: com.ocom.common.resp.Result
//	 **/
//	@PostMapping(PayHandleUrl.saveXfRecord)
//	public Result saveXfRecord(@Valid  @RequestBody TradeRecordRequest request){
//		EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =new EntiyEntiyXfRecordProcess();
//		String orderNo="LX"+request.getTradeNo();
//		entiyEntiyXfRecordProcess.setOrderNo(orderNo);
//		try {
//			String tradeNoRedis="TradeRecord:"+request.getCompanyId()+":"+request.getMachNo()+":"+orderNo;
//			if (!redisUtil.lock(tradeNoRedis,60*60)){
//				//订单号重复
//				return ResultUtil.success("订单号重复");
//			}
//			Long pId= Long.valueOf(request.getUserId());
//			EntityPersonnelInfo entityPersonnelInfo=personnelInfoService.selectPersonnel(request.getCompanyId(),pId);
//			EntityXfAccountInfo entityXfAccountInfo=xfAccountInfoService.selectAccountPid(request.getCompanyId(),pId);
//			entiyEntiyXfRecordProcess.setPId(pId);
//			//1-刷卡，4-刷脸， 3-ocom离线码
//			if (request.getType()==1){
//				entiyEntiyXfRecordProcess.setOpType(1l);
//				entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//			}else if (request.getType()==4){
//				entiyEntiyXfRecordProcess.setOpType(22l);
//				entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//			}else if (request.getType()==3){
//				entiyEntiyXfRecordProcess.setOpType(21l);
//				entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//			}
//			entiyEntiyXfRecordProcess.setAccountNo(entityXfAccountInfo.getAccountNo());
//			//判断是否是异常单
//			if (entityPersonnelInfo==null || entityPersonnelInfo.getStatus()!=0){
//				entiyEntiyXfRecordProcess.setPayState(-103);
//			}else {
//				if (entityXfAccountInfo ==null || entityXfAccountInfo.getAccountState()!=0){
//					entiyEntiyXfRecordProcess.setPayState(-104);
//				}
//			}
//
//			entiyEntiyXfRecordProcess.setComId(request.getCompanyId());
//			entiyEntiyXfRecordProcess.setDeviceNo(request.getMachNo());
//			//entiyXfRecordProcess.setCardNo(request.getAuthCode());
//			if (entityPersonnelInfo!=null){
//				entiyEntiyXfRecordProcess.setPCode(entityPersonnelInfo.getPCode());
//				entiyEntiyXfRecordProcess.setPName(entityPersonnelInfo.getPName());
//			}
//			if (entityXfAccountInfo !=null){
//				entiyEntiyXfRecordProcess.setAccountNo(entityXfAccountInfo.getAccountNo());
//				entiyEntiyXfRecordProcess.setPId(entityXfAccountInfo.getPId());
//			}
//
//			//查询收费的和商家信息
//			DeviceInfoVo deviceInfoVo=deviceInfoService.selectPointId(request.getCompanyId(),request.getMachNo());
//			if (deviceInfoVo!=null){
//				entiyEntiyXfRecordProcess.setDeviceName(deviceInfoVo.getDeviceName());
//				entiyEntiyXfRecordProcess.setPointId(deviceInfoVo.getPointId());
//				entiyEntiyXfRecordProcess.setPointName(deviceInfoVo.getPointName());
//				entiyEntiyXfRecordProcess.setMerchId(deviceInfoVo.getMerchId());
//				entiyEntiyXfRecordProcess.setMerchName(deviceInfoVo.getMerchName());
//			}
//			entiyEntiyXfRecordProcess.setDeptId(entityPersonnelInfo.getDeptId());
//			EntityDeptInfo entityDeptInfo=deptInfoService.selectDeptName(request.getCompanyId(),entityPersonnelInfo.getDeptId());
//			if (entityDeptInfo !=null){
//				entiyEntiyXfRecordProcess.setDeptName(entityDeptInfo.getDeptName());
//			}
//			//判断消费时间段
//			Date consTime=DateUtils.getDate(request.getTradeTime(),DateUtils.YYYY_MM_DD_HH_MM_SS);
//			Date newDate=new Date();
//			entiyEntiyXfRecordProcess.setCreateTime(newDate);
//			entiyEntiyXfRecordProcess.setConsTime(consTime);
//			List<EntityXfMealTime> mealTimeList=xfMealTimeService.selectTimeList(request.getCompanyId(),deviceInfoVo.getPointId());
//			for (EntityXfMealTime entityXfMealTime : mealTimeList) {
//				if (DateUtils.isInTimeFor(consTime,entityXfMealTime.getBeginTime(),entityXfMealTime.getEndTime())){
//					entiyEntiyXfRecordProcess.setMealNo(entityXfMealTime.getMealNo());
//				}
//			}
//			entiyEntiyXfRecordProcess.setMealDate(DateUtils.getDate(DateUtils.getStrDate(consTime,DateUtils.YYYY_MM_DD),DateUtils.YYYY_MM_DD));
//
//			if (request.getLineSymbol()==0){
//				entiyEntiyXfRecordProcess.setPayState(-101);
//			}else{
//				if (request.getLineSymbol()==2){
//					EntiyEntiyXfRecordProcess processTradeNo=xfRecordProcessService.selectTradeNo(request.getCompanyId(),request.getTradeNo(),request.getMachNo());
//					if (processTradeNo!=null){
//						if (processTradeNo.getPayState()==1){
//							entiyEntiyXfRecordProcess.setPayState(-102);
//						}
//					}
//				}
//			}
//			if (entiyEntiyXfRecordProcess.getPayState()==null || entiyEntiyXfRecordProcess.getPayState()==0 || entiyEntiyXfRecordProcess.getPayState()==1){
//				//判断扣款
//				//计算金额
//				int consMoney=-request.getAmount();
//				entiyEntiyXfRecordProcess.setConsMoney(Long.valueOf(consMoney));
//				int discount = 0;
//				int realMoney = consMoney + discount;
//				Long chargeBalance=realMoney+entityXfAccountInfo.getAccountRechargeMoney();
//
//
//				entiyEntiyXfRecordProcess.setDiscount(Long.valueOf(discount));
//				entiyEntiyXfRecordProcess.setRealMoney(Long.valueOf(realMoney));
//				entiyEntiyXfRecordProcess.setPayAmount(Long.valueOf(Math.abs(realMoney)));
//				entiyEntiyXfRecordProcess.setChargeBalance(chargeBalance);
//				entiyEntiyXfRecordProcess.setSubBalance(entityXfAccountInfo.getAccountSubsidyMoney());
//			}else {
//				int consMoney=-request.getAmount();
//				entiyEntiyXfRecordProcess.setConsMoney(Long.valueOf(consMoney));
//
//			}
//			//消费状态，1：消费；2：退款；3：点餐；4.取餐；5.订餐；6：退订；10：充值；11：提现；12：补贴；13：清卡；21：销户
//			entiyEntiyXfRecordProcess.setConsState(1);
//			entiyEntiyXfRecordProcess.setOrderNo(orderNo);
//			entiyEntiyXfRecordProcess.setPayTime(new Date());
//			try {
//				if (entiyEntiyXfRecordProcess.getPayState()==null){
//					//支付状态；0支付中、1支付成功，2支付失败，3撤单中，4已撤单，5退款中，6已退款，7部分退款成功
//					entiyEntiyXfRecordProcess.setPayState(0);
//				}
//				int i=xfRecordProcessService.insertEntityXfRecord(request.getCompanyId(), entiyEntiyXfRecordProcess);
//				if (i<=0){
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（保存消费记录）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//					//订单号重复
//					return ResultUtil.error(ResultEnum.Err_4002);
//				}
//			}catch (Exception e){
//				Throwable cause = e.getCause();
//				if(cause instanceof java.sql.SQLIntegrityConstraintViolationException){
//					//错误信息
//					String errMsg =((java.sql.SQLIntegrityConstraintViolationException)cause).getMessage();
//					//根据约束名称定位是那个字段
//					if(StringUtils.isNotBlank(errMsg) && errMsg.indexOf("order_no") != -1) {
//						return ResultUtil.success("订单号重复");
//					}
//				}
//				log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（保存消费记录）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（保存消费记录）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_900));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_4003);
//			}
//			//异常单不需要入成功表和修改金额
//			if (entiyEntiyXfRecordProcess.getPayState() !=null && entiyEntiyXfRecordProcess.getPayState()!=0){
//				return ResultUtil.success();
//			}
//			try {
//
//				EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//				updateXfRecordProcess.setPayState(1);
//				updateXfRecordProcess.setPayTime(new Date());
//				updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//				updateXfRecordProcess.setMonthValue(DateUtils.getStrDate(newDate,"yyyyMM"));
//
//				entiyEntiyXfRecordProcess.setMonthValue(DateUtils.getStrDate(newDate,"yyyyMM"));
//				entiyEntiyXfRecordProcess.setPayState(1);
//				entiyEntiyXfRecordProcess.setPayTime(updateXfRecordProcess.getPayTime());
//				entiyEntiyXfRecordProcess.setId(null);
//				try {
//					xfAccountInfoService.updateAccountTransactional(request.getCompanyId(),entityXfAccountInfo.getId(), entiyEntiyXfRecordProcess,updateXfRecordProcess);
//				}catch (Exception e){
//					log.info("请求方式:【{}】,机器号:【{}】,修改金额的事务:【{}】,异常的返回:【{}】","支付请求（保存消费记录）",request.getMachNo(), entiyEntiyXfRecordProcess,e.getMessage());
//				}
//
//				return ResultUtil.success();
//			}catch (Exception e){
//				log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（保存消费记录）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（保存消费记录）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_4002);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（保存消费记录）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//			try {
//				if (entiyEntiyXfRecordProcess.getPayState() ==null){
//					//支付状态；0支付中、1支付成功，2支付失败，3撤单中，4已撤单，5退款中，6已退款，7部分退款成功
//					entiyEntiyXfRecordProcess.setPayState(-105);
//				}
//				if (entiyEntiyXfRecordProcess.getDeviceName()==null){
//					entiyEntiyXfRecordProcess.setDeviceNo(request.getMachNo());
//				}
//				if (entiyEntiyXfRecordProcess.getConsTime()==null){
//					entiyEntiyXfRecordProcess.setConsTime(DateUtils.getDate(request.getTradeTime(),DateUtils.YYYY_MM_DD_HH_MM_SS));
//				}
//				if (entiyEntiyXfRecordProcess.getConsMoney()==null){
//					entiyEntiyXfRecordProcess.setConsMoney(Long.valueOf(-request.getAmount()));
//				}
//				if (entiyEntiyXfRecordProcess.getPId()==null){
//					entiyEntiyXfRecordProcess.setPId(request.getUserId());
//				}
//				if (entiyEntiyXfRecordProcess.getOpType()==null || entiyEntiyXfRecordProcess.getOpTypeDiff()==null){
//					//1-刷卡，4-刷脸， 3-ocom离线码
//					if (request.getType()==1){
//						entiyEntiyXfRecordProcess.setOpType(1l);
//						entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//					}else if (request.getType()==4){
//						entiyEntiyXfRecordProcess.setOpType(22l);
//						entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//					}else if (request.getType()==3){
//						entiyEntiyXfRecordProcess.setOpType(21l);
//						entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//					}
//				}
//				int i=xfRecordProcessService.insertEntityXfRecord(request.getCompanyId(), entiyEntiyXfRecordProcess);
//				if (i<=0){
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（保存消费记录）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//					//订单号重复
//					return ResultUtil.error(ResultEnum.Err_4002);
//				}
//				return ResultUtil.success();
//			}catch (Exception ex){
//				Throwable cause = ex.getCause();
//				if(cause instanceof java.sql.SQLIntegrityConstraintViolationException){
//					//错误信息
//					String errMsg =((java.sql.SQLIntegrityConstraintViolationException)cause).getMessage();
//					//根据约束名称定位是那个字段
//					if(StringUtils.isNotBlank(errMsg) && errMsg.indexOf("order_no") != -1) {
//						return ResultUtil.success("订单号重复");
//					}
//				}
//				log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（保存消费记录）",request.getMachNo(), entiyEntiyXfRecordProcess,ex);
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（保存消费记录）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_900));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_4003);
//			}
//
//		}
//	}
//
//	//在线卡消费
//	@PostMapping(PayHandleUrl.getPayCard)
//	public Result qrCodePay(@RequestBody QrCardPayRequest request){
//		try {
//			String tradeNoRedis="onlinePay:"+request.getCompanyId()+":"+request.getMachNo()+":"+request.getTradeNo();
//			if (redisUtil.lock(tradeNoRedis,60*60)){
//				//判断是什么支付类型
//				//1-刷卡，4-刷脸，5-付款码，7-ocom离线码
//				EntityXfAccountInfo entityXfAccountInfo=null;
//				EntityPersonnelInfo entityPersonnelInfo=null;
//				EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess =new EntiyEntiyXfRecordProcess();
//				EntityCardInfo entityCardInfo=null;
//				if(request.getType()==1){
//					//刷卡
//					entityCardInfo=xfCardInfoService.selectCard(request.getCompanyId(),request.getAuthCode());
//					if (entityCardInfo==null ){
//						return ResultUtil.error(ResultEnum.Err_305);
//					}
//					if (entityCardInfo.getCardState() !=0){
//						return ResultUtil.error(ResultEnum.Err_4021);
//					}
//					String strNewDate=DateUtils.getStrDate(new Date(),"yyyy-MM-dd");
//					String strEndDate=DateUtils.getStrDate(entityCardInfo.getEndDate(),"yyyy-MM-dd");
//					if (!DateUtils.compare(strNewDate,strEndDate)){
//						return ResultUtil.error(ResultEnum.Err_4025);
//					}
//					//用账号查询账号表和人员的信息
//					entityXfAccountInfo=xfAccountInfoService.selectAccount(request.getCompanyId(),entityCardInfo.getAccountNo());
//					entityPersonnelInfo=personnelInfoService.selectPersonnel(request.getCompanyId(),entityXfAccountInfo.getPId());
//
//					//操作类型：
//					//1：刷卡
//					//2：付款码支付
//					//3：免密代扣支付
//					//4：主扫
//					//6：优惠卷
//					//9：订餐
//					//11：现金充值
//					//12：线上充值
//					entiyEntiyXfRecordProcess.setOpType(1l);
//					entiyEntiyXfRecordProcess.setAccountNo(entityCardInfo.getAccountNo());
//				}else {
//					Long pId= Long.valueOf(request.getAuthCode());
//					entityPersonnelInfo=personnelInfoService.selectPersonnel(request.getCompanyId(),pId);
//					entityXfAccountInfo=xfAccountInfoService.selectAccountPid(request.getCompanyId(),pId);
//					entiyEntiyXfRecordProcess.setAccountNo(entityXfAccountInfo.getAccountNo());
//					if (request.getType()==4){
//						entiyEntiyXfRecordProcess.setOpType(22l);
//					}else if (request.getType()==7){
//						entiyEntiyXfRecordProcess.setOpType(21l);
//					}
//
//				}
//
//				if (entityXfAccountInfo==null){
//					return ResultUtil.error(ResultEnum.Err_816);
//				}
//				if (entityXfAccountInfo.getAccountState() !=0){
//					return ResultUtil.error(ResultEnum.Err_4022);
//				}
//
//				if (entityPersonnelInfo==null){
//					return ResultUtil.error(ResultEnum.Err_4017);
//				}
//				if (entityPersonnelInfo.getStatus()!=0){
//					return ResultUtil.error(ResultEnum.Err_4023);
//				}
//
//				entiyEntiyXfRecordProcess.setComId(request.getCompanyId());
//				entiyEntiyXfRecordProcess.setDeviceNo(request.getMachNo());
//				entiyEntiyXfRecordProcess.setCardNo(request.getAuthCode());
//				entiyEntiyXfRecordProcess.setAccountNo(entityXfAccountInfo.getAccountNo());
//				entiyEntiyXfRecordProcess.setPId(entityXfAccountInfo.getPId());
//				entiyEntiyXfRecordProcess.setPCode(entityPersonnelInfo.getPCode());
//				entiyEntiyXfRecordProcess.setPName(entityPersonnelInfo.getPName());
//				Date date=new Date();
//				//查询收费的和商家信息
//				relatedDevice(entiyEntiyXfRecordProcess,request.getCompanyId(),request.getMachNo(),date);
//				//查询个人所在的组织
//				entiyEntiyXfRecordProcess.setDeptId(entityPersonnelInfo.getDeptId());
//				EntityDeptInfo entityDeptInfo=deptInfoService.selectDeptName(request.getCompanyId(),entityPersonnelInfo.getDeptId());
//				if (entityDeptInfo !=null){
//					entiyEntiyXfRecordProcess.setDeptName(entityDeptInfo.getDeptName());
//				}
//
//				entiyEntiyXfRecordProcess.setMealDate(DateUtils.getDate(DateUtils.getStrDate(date,DateUtils.YYYY_MM_DD),DateUtils.YYYY_MM_DD));
//				//消费状态，1：消费；2：退款；3：点餐；4.取餐；5.订餐；6：退订；10：充值；11：提现；12：补贴；13：清卡；21：销户
//				entiyEntiyXfRecordProcess.setConsState(1);
//				entiyEntiyXfRecordProcess.setOrderNo(request.getTradeNo());
//				Integer intMealNo=0;
//				if (entiyEntiyXfRecordProcess.getMealNo()!=null){
//					intMealNo=Integer.valueOf(entiyEntiyXfRecordProcess.getMealNo());;
//				}
//				//查询支付限制
//				int consMoney=-request.getAmount();
//				int limit=xfUserparamConfigService.selectLimit(request.getCompanyId(),entityXfAccountInfo.getPId(),
//						entityXfAccountInfo.getAccTypeId(),request.getConsType(),date,intMealNo,consMoney);
//				if (limit!=0){
//					if (limit==1){
//						return ResultUtil.error(ResultEnum.Err_4031);
//					}else if (limit==2){
//						return ResultUtil.error(ResultEnum.Err_4032);
//					}if (limit==3){
//						return ResultUtil.error(ResultEnum.Err_4033);
//					}if (limit==4){
//						return ResultUtil.error(ResultEnum.Err_4034);
//					}if (limit==5){
//						return ResultUtil.error(ResultEnum.Err_4035);
//					}if (limit==6){
//						return ResultUtil.error(ResultEnum.Err_4036);
//					}
//				}
//
//				//判断扣款
//				//计算金额
//				entiyEntiyXfRecordProcess.setConsMoney(Long.valueOf(consMoney));
//				//计算优惠
//				entiyEntiyXfRecordProcess.setConsType(request.getConsType());
//				int discount= xfDiscountConfigServcie.selectSiscount(request.getCompanyId(),entityXfAccountInfo.getPId(),
//						entityXfAccountInfo.getAccTypeId(),request.getConsType(),date,intMealNo,consMoney);
//				int realMoney = consMoney + discount;
//				//支付状态；0支付中、1支付成功，2支付失败，3撤单中，4已撤单，5退款中，6已退款，7部分退款成功
//				entiyEntiyXfRecordProcess.setPayState(0);
//				entiyEntiyXfRecordProcess.setDiscount(Long.valueOf(discount));
//				entiyEntiyXfRecordProcess.setRealMoney(Long.valueOf(realMoney));
//				entiyEntiyXfRecordProcess.setPayAmount(Long.valueOf(Math.abs(realMoney)));
//				entiyEntiyXfRecordProcess.setSubBalance(entityXfAccountInfo.getAccountSubsidyMoney());
//				EntityXfChannelInfo xfChannelInfo=null;
//				//判断收费点为空和为0是按单位查询
//				if (entiyEntiyXfRecordProcess.getPointId()==null || entiyEntiyXfRecordProcess.getPointId()==0 || entiyEntiyXfRecordProcess.getMerchId()==null){
//					xfChannelInfo=xfChannelInfoService.selectPayWay(entiyEntiyXfRecordProcess.getComId(),0L);
//				}else {
//					//a)pMerID:=merchID，查找商户pMerID有没有支付通道，如果没有找上级商户，直至顶级（pMerID ==0）。
//					xfChannelInfo=xfChannelInfoService.selectPayWay(entiyEntiyXfRecordProcess.getComId(), entiyEntiyXfRecordProcess.getMerchId());
//					if (xfChannelInfo==null){
//						int parentMerchId= Math.toIntExact(entiyEntiyXfRecordProcess.getMerchId());
//						for (int i = 0; i < 100; i++) {
//							EntityXfMerchantInfo entityXfMerchantInfo=xfMerchantInfoService.selectParentMerchId(entiyEntiyXfRecordProcess.getComId(),parentMerchId);
//							if (entityXfMerchantInfo!=null && entityXfMerchantInfo.getParentMerchId()!=null){
//								parentMerchId=entityXfMerchantInfo.getParentMerchId();
//								xfChannelInfo=xfChannelInfoService.selectPayWay(entiyEntiyXfRecordProcess.getComId(), entiyEntiyXfRecordProcess.getMerchId());
//								if (xfChannelInfo!=null){
//									break;
//								}
//							}
//							//父级商户id为0不用循环下去了
//							if (parentMerchId==0){
//								break;
//							}
//						}
//					}
//				}
//				if (xfChannelInfo==null){
//					Long chargeBalance=realMoney+entityXfAccountInfo.getAccountRechargeMoney();
//					if (chargeBalance<0){
//						return ResultUtil.error(ResultEnum.Err_4024);
//					}
//					entiyEntiyXfRecordProcess.setChargeBalance(chargeBalance);
//					entiyEntiyXfRecordProcess.setPayTime(new Date());
//					//查询不到代扣通道走扣虚拟账号
//					return virtual(entiyEntiyXfRecordProcess,request,entityCardInfo,entityXfAccountInfo);
//				}else {
//					//代扣
//					return withholding(entiyEntiyXfRecordProcess,request,entityCardInfo,entityXfAccountInfo,xfChannelInfo.getPayWay());
//				}
//			}else {
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_802);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","支付请求（强在线）",request.getMachNo(),request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	//查询机器和消费时间等参数
//	private void relatedDevice(EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess,Long companyId,String machNo,Date date){
//		//查询收费的和商家信息
//		Long timeLong= Long.valueOf(4*60*60);
//		//查询redis是否为空，不为空把值存入redis
//		String deviceInfoVoRedis="xf_device_info#comId:"+companyId+"#machNo:"+machNo;
//		Object objectDeviceInfo=redisUtil.get(deviceInfoVoRedis);
//		DeviceInfoVo deviceInfoVo=null;
//		if (objectDeviceInfo == null) {
//			deviceInfoVo=deviceInfoService.selectPointId(companyId,machNo);
//			if (deviceInfoVo!=null){
//				redisUtil.set(deviceInfoVoRedis, deviceInfoVo,timeLong);
//			}
//		}else {
//			deviceInfoVo =JSON.parseObject(JSON.toJSONString(objectDeviceInfo), DeviceInfoVo.class);
//		}
//
//		if (deviceInfoVo!=null){
//			entiyEntiyXfRecordProcess.setDeviceName(deviceInfoVo.getDeviceName());
//			entiyEntiyXfRecordProcess.setPointId(deviceInfoVo.getPointId());
//			entiyEntiyXfRecordProcess.setPointName(deviceInfoVo.getPointName());
//			entiyEntiyXfRecordProcess.setMerchId(deviceInfoVo.getMerchId());
//			entiyEntiyXfRecordProcess.setMerchName(deviceInfoVo.getMerchName());
//		}
//
//		//判断消费时间段
//		entiyEntiyXfRecordProcess.setCreateTime(date);
//		entiyEntiyXfRecordProcess.setConsTime(date);
//		entiyEntiyXfRecordProcess.setMonthValue(DateUtils.getStrDate(date,"yyyyMM"));
//
//		//查询redis是否为空，不为空把值存入redis
//		String mealTimeRedis="xf_meal_time#comId:"+companyId+"#pointId:"+deviceInfoVo.getPointId();
//		Object objectMealTime=redisUtil.get(mealTimeRedis);
//		List<EntityXfMealTime> mealTimeList=null;
//		if (objectMealTime == null) {
//
//			mealTimeList=xfMealTimeService.selectTimeList(companyId,deviceInfoVo.getPointId());
//
//			if (mealTimeList!=null){
//				redisUtil.set(mealTimeRedis, mealTimeList,timeLong);
//			}
//		}else {
//			mealTimeList =ObjectList.castList(objectMealTime, EntityXfMealTime.class);
//		}
//
//		if (mealTimeList != null) {
//			for (EntityXfMealTime entityXfMealTime : mealTimeList) {
//				if (DateUtils.isInTimeFor(date,entityXfMealTime.getBeginTime(),entityXfMealTime.getEndTime())){
//					entiyEntiyXfRecordProcess.setMealNo(entityXfMealTime.getMealNo());
//				}
//			}
//		}
//	}
//
//	//虚拟账号
//	private Result virtual(EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess, QrCardPayRequest request, EntityCardInfo entityCardInfo,
//						   EntityXfAccountInfo entityXfAccountInfo){
//		//100:虚拟账号
//		entiyEntiyXfRecordProcess.setOpTypeDiff(100l);
//		try {
//			int i=xfRecordProcessService.insertEntityXfRecord(request.getCompanyId(), entiyEntiyXfRecordProcess);
//			if (i<=0){
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_802);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//			//订单号重复
//			return ResultUtil.error(ResultEnum.Err_802);
//		}
//		if (entityCardInfo!=null){
//			//修改卡流水
//			xfCardInfoService.upateCardMoneyA(request.getCompanyId(),entityCardInfo);
//		}
//		try {
//
//			EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//			updateXfRecordProcess.setPayState(1);
//			updateXfRecordProcess.setPayTime(new Date());
//			updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//
//			entiyEntiyXfRecordProcess.setPayState(1);
//			entiyEntiyXfRecordProcess.setPayTime(updateXfRecordProcess.getPayTime());
//			entiyEntiyXfRecordProcess.setId(null);
//			try {
//				xfAccountInfoService.updateAccountTransactional(request.getCompanyId(),entityXfAccountInfo.getId(), entiyEntiyXfRecordProcess,updateXfRecordProcess);
//			}catch (Exception e){
//				log.info("请求方式:【{}】,机器号:【{}】,修改金额的事务:【{}】,异常的返回:【{}】","支付请求（保存消费记录）",request.getMachNo(), entiyEntiyXfRecordProcess,e.getMessage());
//			}
//
//			Map<String,Object> map=new HashMap<>();
//			map.put("discount", entiyEntiyXfRecordProcess.getDiscount());
//			map.put("payAmount",Math.abs(entiyEntiyXfRecordProcess.getRealMoney()));
//			Map<String,Object> mapAccountInf=new HashMap<>();
//			mapAccountInf.put("name", entiyEntiyXfRecordProcess.getPName());
//			mapAccountInf.put("money", entiyEntiyXfRecordProcess.getChargeBalance());
//			mapAccountInf.put("allowance",entityXfAccountInfo.getAccountSubsidyMoney());
//			if (entityCardInfo !=null){
//				mapAccountInf.put("expireDate",DateUtils.getStrDate(entityCardInfo.getEndDate(),DateUtils.YYYY_MM_DD_HH_MM_SS));
//			}
//			mapAccountInf.put("cardtype",entityXfAccountInfo.getAccTypeId());
//			map.put("accountInf",mapAccountInf);
//			return ResultUtil.success(map);
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//			//订单号重复
//			return ResultUtil.error(ResultEnum.Err_802);
//		}
//	}
//
//	//代扣
//	private Result withholding(EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess, QrCardPayRequest request, EntityCardInfo entityCardInfo,
//							   EntityXfAccountInfo entityXfAccountInfo,int payWay){
//		//306:建行数字货币代扣
//		if (payWay==7){
//			entiyEntiyXfRecordProcess.setOpTypeDiff(306L);
//		}
//		try {
//			int i=xfRecordProcessService.insertEntityXfRecord(request.getCompanyId(), entiyEntiyXfRecordProcess);
//			if (i<=0){
//				log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线,代扣）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//				//订单号重复
//				return ResultUtil.error(ResultEnum.Err_802);
//			}
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（强在线,代扣）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线,代扣）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//			//订单号重复
//			return ResultUtil.error(ResultEnum.Err_802);
//		}
//		if (entityCardInfo!=null){
//			//修改卡流水和消费金额
//			xfCardInfoService.upateCardMoneyA(request.getCompanyId(),entityCardInfo);
//		}
//		try {
//			//查询配置信息
//			String xfMerchPayRedis="xf_merch_pay_info#comId:"+entiyEntiyXfRecordProcess.getComId()+"#merchId:"+entiyEntiyXfRecordProcess.getMerchId();
//			Object object=redisUtil.get(xfMerchPayRedis);
//			EntiyXfMerchPayInfo entiyXfMerchPayInfo=null;
//			if (object == null) {
//				entiyXfMerchPayInfo=xfMerchPayInfoService.selectConfigure(entiyEntiyXfRecordProcess.getComId(),entiyEntiyXfRecordProcess.getMerchId());
//				if (entiyXfMerchPayInfo ==null){
//					//商户支付渠道未配置"
//					return ResultUtil.error(ResultEnum.Err_3048);
//				}
//				Long timeLong= Long.valueOf(4*60*60);
//				redisUtil.set(xfMerchPayRedis, entiyXfMerchPayInfo,timeLong);
//			}else {
//				entiyXfMerchPayInfo =JSON.parseObject(JSON.toJSONString(object), EntiyXfMerchPayInfo.class);
//			}
//			//查询代扣的签约号
//			EntityXfSignNo entityXfSignNo =xfSignNoService.selectSignNo(entiyEntiyXfRecordProcess.getComId(),entiyEntiyXfRecordProcess.getMerchId(),payWay,entiyEntiyXfRecordProcess.getPId());
//			if (entityXfSignNo == null) {
//				//代扣未签约"
//				return ResultUtil.error(ResultEnum.Err_3047);
//			}
//			//代扣
//			Map<String,Object> retMap=new HashMap<>();
//			retMap.put("company_id",entiyXfMerchPayInfo.getCompanyId());
//			retMap.put("user_name",entiyXfMerchPayInfo.getUserName());
//			retMap.put("password",entiyXfMerchPayInfo.getPassword());
//			retMap.put("pos_no",entiyEntiyXfRecordProcess.getDeviceNo());
//			retMap.put("fee_type","CNY");
//			retMap.put("subject","代扣支付:"+entiyEntiyXfRecordProcess.getDeviceNo());
//			retMap.put("out_trade_no", request.getTradeNo());
//			retMap.put("contract_id", entityXfSignNo.getSignNo());
//			retMap.put("total_amount", String.valueOf(Math.abs(entiyEntiyXfRecordProcess.getRealMoney())));
//			retMap.put("devsnip", "10.68.132.244");
//			retMap.put("body","代扣支付");
//			retMap.put("user_id",entiyEntiyXfRecordProcess.getPId());
//			retMap.put("lineSymbol","0");
//			//向统一支付平台发起支付
//			/*String json= HttpUtils.postJson(payUrl+"/withholding/pay.do",retMap);
//			JSONObject results= JSON.parseObject(json);*/
//			EntiyEntiyXfRecordProcess updateXfRecordProcess=new EntiyEntiyXfRecordProcess();
//			updateXfRecordProcess.setId(entiyEntiyXfRecordProcess.getId());
//			updateXfRecordProcess.setPayChannelNo(entiyXfMerchPayInfo.getCompanyId());
//			updateXfRecordProcess.setComId(entiyEntiyXfRecordProcess.getComId());
//			//要删
//			JSONObject results=new JSONObject();
//			results.put("code",200);
//			if (results.getInteger("code")==200){
//				//支付成功，修改等待表的状态和把数据入成功表
//				//Map<String,String> dataMap= (Map<String, String>) JSON.parse(results.getString("data"));
//				/*updateXfRecordProcess.setChannelOrderNo(dataMap.get("trade_no"));
//				updateXfRecordProcess.setPayTime(DateUtil.getDate(dataMap.get("time_end"),"yyyyMMddHHmmss"));*/
//				updateXfRecordProcess.setChannelOrderNo("1111111111");
//				updateXfRecordProcess.setPayTime(DateUtil.getDate("20220802110256","yyyyMMddHHmmss"));
//				updateXfRecordProcess.setPayState(1);
//				try {
//					int i=xfRecordProcessService.updateEntityXfRecord(updateXfRecordProcess.getComId(),updateXfRecordProcess);
//					if (i<=0){
//						log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),updateXfRecordProcess,"等待表修改入库失败");
//						//log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),retMap,json);
//
//					}
//				}catch (Exception e){
//					log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),updateXfRecordProcess,e);
//					//log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),retMap,json);
//				}
//
//				entiyEntiyXfRecordProcess.setPayTime(updateXfRecordProcess.getPayTime());
//				entiyEntiyXfRecordProcess.setId(null);
//				entiyEntiyXfRecordProcess.setChannelOrderNo("11111111111");
//				entiyEntiyXfRecordProcess.setPayState(1);
//				entiyEntiyXfRecordProcess.setPayTime(updateXfRecordProcess.getPayTime());
//				entiyEntiyXfRecordProcess.setPayChannelNo(updateXfRecordProcess.getPayChannelNo());
//				EntityXfRecord entityXfRecord = JSONObject.parseObject(JSON.toJSONString(entiyEntiyXfRecordProcess),EntityXfRecord.class);
//				Result result=xfRecordFeign.sveXfRecord(entityXfRecord);
//				if (result.getCode()!=200){
//					log.info("请求方式:【{}】,机器号:【{}】,入库成功的数据:【{}】,返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),updateXfRecordProcess,"添加入库失败");
//					log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,请求入xfrecode的表数据的返回的参数:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),retMap,result);
//				}
//
//				Map<String,Object> map=new HashMap<>();
//				map.put("discount", entiyEntiyXfRecordProcess.getDiscount());
//				map.put("payAmount",Math.abs(entiyEntiyXfRecordProcess.getRealMoney()));
//				Map<String,Object> mapAccountInf=new HashMap<>();
//				mapAccountInf.put("name", entiyEntiyXfRecordProcess.getPName());
//				mapAccountInf.put("money", entiyEntiyXfRecordProcess.getChargeBalance());
//				mapAccountInf.put("allowance",entityXfAccountInfo.getAccountSubsidyMoney());
//				if (entityCardInfo !=null){
//					mapAccountInf.put("expireDate",DateUtils.getStrDate(entityCardInfo.getEndDate(),DateUtils.YYYY_MM_DD_HH_MM_SS));
//				}
//				mapAccountInf.put("cardtype",entityXfAccountInfo.getAccTypeId());
//				map.put("accountInf",mapAccountInf);
//				return ResultUtil.success(map);
//			}else if (results.getInteger("code")==16 || results.getInteger("code")==19){
//				//支付结果未知
//				return ResultUtil.error(ResultEnum.Err_3029);
//			}else {
//				updateXfRecordProcess.setPayState(2);
//				try {
//					int i=xfRecordProcessService.updateEntityXfRecord(entiyEntiyXfRecordProcess.getComId(),updateXfRecordProcess);
//					if (i<=0){
//						log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),updateXfRecordProcess,"等待表修改入库失败");
//						//log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),retMap,json);
//
//					}
//				}catch (Exception e){
//					log.info("请求方式:【{}】,机器号:【{}】,入库修改的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),updateXfRecordProcess,e);
//					//log.info("请求方式:【{}】,机器号:【{}】,统一支付平台的请求参数:【{}】,统一支付平台的返回:【{}】","支付请求（强在线）",entiyEntiyXfRecordProcess.getDeviceNo(),retMap,json);
//				}
//				return ResultUtil.error(ResultEnum.Err_3030);
//			}
//
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,入库新增等待表的数据:【{}】,异常的返回:【{}】","支付请求（强在线）",request.getMachNo(), entiyEntiyXfRecordProcess,e);
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,返回:【{}】","支付请求（强在线）",request.getMachNo(),request,ResultUtil.error(ResultEnum.Err_802));
//			//订单号重复
//			return ResultUtil.error(ResultEnum.Err_802);
//		}
//	}
//
//	/**
//	 * 设备消费记录
//	 * @param request
//	 * @return
//	 */
//	@PostMapping(PayHandleUrl.URL_machBillList)
//	public Result machBillList(@Valid  @RequestBody QrCodeBillListRequest request){
//		try {
//			PageInfo<EntiyEntiyXfRecordProcess> processPageInfo=xfRecordProcessService.selectPageInfo(request.getCompanyID(),request);
//			if (processPageInfo.getList().size()<=0){
//				return ResultUtil.error(ResultEnum.Err_1001);
//			}
//			List<Map<String,Object>> mapList=new ArrayList<>();
//			for (EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess : processPageInfo.getList()) {
//				Map<String,Object> map=new HashMap<>();
//				map.put("out_trade_no", entiyEntiyXfRecordProcess.getOrderNo());
//				map.put("total_money",Math.abs(entiyEntiyXfRecordProcess.getRealMoney()));
//				map.put("pay_type",payType(entiyEntiyXfRecordProcess.getOpType()));
//				map.put("time",DateUtils.getStrDate(entiyEntiyXfRecordProcess.getConsTime(),DateUtils.YYYY_MM_DD_HH_MM_SS));
//				map.put("pay_status", entiyEntiyXfRecordProcess.getIfRefund()<=0?1:2);
//				mapList.add(map);
//			}
//			Map<String,Object> reMap=new HashMap<>();
//			reMap.put("orderData_s",mapList);
//			reMap.put("total",processPageInfo.getTotal());
//			return ResultUtil.success(reMap);
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","设备消费记录",request.getMachNo(),request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/**
//	 * 设备消费日报表
//	 * @param request
//	 * @return
//	 */
//	@PostMapping(PayHandleUrl.URL_machDailySummary)
//	public Result machDailySummary(@Valid  @RequestBody QrCodeMachDailySummaryRequest request){
//		try {
//			List<EntiyEntiyXfRecordProcess> processPageInfo=xfRecordProcessService.selectMachDailySummary(request.getCompanyId(),request);
//			if (processPageInfo.size()<=0){
//				return ResultUtil.error(ResultEnum.Err_1001);
//			}
//			List<Map<String,Object>> mapList=new ArrayList<>();
//			for (EntiyEntiyXfRecordProcess entiyEntiyXfRecordProcess : processPageInfo) {
//				Map<String,Object> map=new HashMap<>();
//				map.put("amount",-entiyEntiyXfRecordProcess.getAmount());
//				map.put("times", entiyEntiyXfRecordProcess.getTimes());
//				map.put("payMode",payTypeString(entiyEntiyXfRecordProcess.getOpTypeDiff()));
//				mapList.add(map);
//			}
//			Map<String,Object> reMap=new HashMap<>();
//			reMap.put("payData",mapList);
//			return ResultUtil.success(reMap);
//		}catch (Exception e){
//			log.info("请求方式:【{}】,机器号:【{}】,请求参数:【{}】,异常:【{}】","设备消费日报表",request.getMachNo(),request,e);
//			return ResultUtil.error(ResultEnum.Err_3031);
//		}
//	}
//
//	/*
//	 * @Description:判断是什么方式支付
//	 * @Author: lu
//	 * @Date: 2022/5/17 16:18
//	 * @param strCode:
//	 * @return: java.lang.String
//	 **/
//	private String payTypeString(Long strCode){
//		if (strCode==201){
//			return "微信";
//		}else if (strCode==202){
//			return "支付宝";
//		}else if (strCode==203){
//			return "银联";
//		}
//		return "";
//	}
//
//	/*
//	 * @Description: 判断是什么方式支付
//	 * @Author: lu
//	 * @Date: 2022/5/17 13:03
//	 * @param strCode:
//	 * @return: int
//	 **/
//	private String payType(Long strCode){
//		if (strCode==1){
//			return "虚拟账户支付";
//		}else if (strCode==2){
//			return "付款码";
//		}else if (strCode==3){
//			return "免密代扣支付";
//		}
//		return "";
//	}
//
//	/**
//	 * @author lu
//	 * @date 2021/5/26 15:38
//	 * @param:
//	 * @return int
//	 * @description 判断用什么码支付
//	 */
//	private int payCode(String strCode){
//		if (strCode.equals("weixin")){
//			return 201;
//		}else if (strCode.equals("alipay")){
//			return 202;
//		}else if (strCode.equals("unionpay")){
//			return 203;
//		}else if (strCode.equals("E-CNY")){
//			return 205;
//		}
//		return 0;
//	}
//
//
////	/**
////	 *   预下单接口(底层) (/preOrder)
////	 * */
////	@PostMapping(PayHandleUrl.URL_PreOrder)
////	public Result PreOrder(@Valid  @RequestBody PreOrderVo preOrderVo){
////		log.info("预下单接口请求参数:{{}}",preOrderVo);
////		//查找单位账号
////		List<EntityXfMerchantInfo> entityXfMerchantInfos = xfMerchantInfoService.selectComAcc(preOrderVo.getComId());
////
////		return ResultUtil.success();
////	}
//
//}
//
